Micron Document
The `!Reticulum Protocol`! is a complete networking stack for building both local and wide-area networks with readily available `F0af`_`[hardware`:/page/wiki.mu`path=Hardware]`_`f.

It offers end-to-end encryption, forward secrecy, initiator anonymity, autoconfiguring cryptographically backed multi-hop transport, efficient addressing, unforgeable `F0af`_`[packet`:/page/wiki.mu`path=Packet]`_`f acknowledgements and more. It is designed to continue to operate under adverse conditions, such as extremely low bandwidth and very high latency.`:cite-ref-0-1-0[`F5bf`_`[1`#cite-note-0-1]`_`f]

Reticulum can be used over a wide variety of communication mediums, from packet radio to fiber optics, practically any medium that can support at least a half-duplex channel with greater throughput than 5 bits per second and an MTU of 500 bytes. Data radios, modems, LoRa radios, serial lines, AX.25 TNCs, amateur radio digital modes, ad-hoc WiFi, free-space optical links and similar systems are all examples of the types of `F0af`_`[interfaces`:/page/wiki.mu`path=Interface]`_`f Reticulum was designed for. It is also trivial to tunnel Reticulum over the Internet or private IP networks.`:cite-ref-0-1-1[`F5bf`_`[1`#cite-note-0-1]`_`f]

The Reticulum Protocol is defined by `F0af`_`[the reference implementation`:/page/wiki.mu`path=RNS]`_`f and `F0af`_`[the manual ↗`a8d24177d946de4f1f0a0fe1af9a1338:/page/blob.mu`g=reticulum|r=reticulum|ref=HEAD|path=docs/markdown/index.md|anchor=reticulum-network-stack-manual]`_`f. It was dedicated to the public domain in 2016`:cite-ref-1-2-0[`F5bf`_`[2`#cite-note-1-2]`_`f] and reached `B100`F9d91.0`f`b in 2025`:cite-ref-3[`F5bf`_`[3`#cite-note-3]`_`f].

For a deep dive, see `F0af`_`[Understanding Reticulum ↗`a8d24177d946de4f1f0a0fe1af9a1338:/page/blob.mu`g=reticulum|r=reticulum|ref=HEAD|path=docs/markdown/understanding.md|anchor=understanding-reticulum]`_`f in the manual. To understand the foundational philosophy and goals of Reticulum, it is highly recommended to read the `F0af`_`[Zen of Reticulum ↗`a8d24177d946de4f1f0a0fe1af9a1338:/page/blob.mu`g=reticulum|r=reticulum|ref=HEAD|path=docs/markdown/zen.md|anchor=zen-of-reticulum]`_`f.

>>Contents

• `F0af`_`[Current status`#current-status]`_`f
• `F0af`_`[Implementations`#implementations]`_`f
• `F0af`_`[Cryptography`#cryptography]`_`f
• `F0af`_`[See also`#see-also]`_`f
• `F0af`_`[References`#references]`_`f

>>Current status

`*All core protocol features are implemented and functioning, but additions will probably occur as real-world use is explored. The API and wire-format can be considered complete and stable, but could change if absolutely warranted.`:cite-ref-0-1-2[`F5bf`_`[1`#cite-note-0-1]`_`f]`*

There is work underway to conduct a formal verification of the protocol. It has not yet had an external security audit. See also: `F0af`_`[How secure is Reticulum?`:/page/wiki.mu`path=FAQ|anchor=how-secure-is-reticulum]`_`f

>>Implementations

`*See also: `F0af`_`[Implementations`:/page/wiki.mu`path=Implementations]`_`f`*

There are several implementations of Reticulum being developed besides `F0af`_`[RNS`:/page/wiki.mu`path=RNS]`_`f.

A Reticulum implementaton is expected to have full interoperability and sufficient functional parity with `F0af`_`[the reference implementation`:/page/wiki.mu`path=RNS]`_`f. Otherwise, it is not Reticulum.`:cite-ref-1-2-1[`F5bf`_`[2`#cite-note-1-2]`_`f]

`*`!Note:`! Anything claiming to be Reticulum but not using the exact cryptographic primitives of the reference implementation is `!not`! Reticulum, and possibly an intentionally compromised or weakened clone.`:cite-ref-2-4-0[`F5bf`_`[4`#cite-note-2-4]`_`f]`*

>>Cryptography

Reticulum uses a simple suite of efficient, strong and well-tested cryptographic primitives that are widely available:`:cite-ref-2-4-1[`F5bf`_`[4`#cite-note-2-4]`_`f]

• Reticulum `F0af`_`[Identity`:/page/wiki.mu`path=Identity]`_`f Keys are 512-bit Curve25519 keysets
• A 256-bit Ed25519 key for signatures
• A 256-bit X25519 key for ECDH key exchanges
• HKDF for key derivation
• Encrypted tokens are based on the Fernet spec
• Ephemeral keys derived from an ECDH key exchange on Curve25519
• AES-256 in CBC mode with PKCS7 padding
• HMAC using SHA-256 for message authentication
• IVs must be generated through `B100`F9d9os.urandom()`f`b or better
• No Fernet version and timestamp metadata fields
• SHA-256
• SHA-512

>>See also

• `F0af`_`[Implementations`:/page/wiki.mu`path=Implementations]`_`f
• `F0af`_`[RNS`:/page/wiki.mu`path=RNS]`_`f
• `F0af`_`[LXMF`:/page/wiki.mu`path=LXMF]`_`f
• `F0af`_`[LXST`:/page/wiki.mu`path=LXST]`_`f
• `F0af`_`[Weave`:/page/wiki.mu`path=Weave]`_`f

>>References

`:cite-note-0-1`!1.`! `F0af`_`[↑`#cite-ref-0-1-0]`_`f `*What is Reticulum?`*, Manual. `F0af`_`[`a8d24177d946de4f1f0a0fe1af9a1338:/page/blob.mu`g=reticulum|r=reticulum|ref=HEAD|path=docs/markdown/whatis.md] ↗`_`f
`:cite-note-1-2`!2.`! `F0af`_`[↑`#cite-ref-1-2-0]`_`f `*Reference Implementation`*, Manual. `F0af`_`[`a8d24177d946de4f1f0a0fe1af9a1338:/page/blob.mu`g=reticulum|r=reticulum|ref=HEAD|path=docs/markdown/whatis.md|anchor=reference-implementation] ↗`_`f
`:cite-note-3`!3.`! `F0af`_`[↑`#cite-ref-3]`_`f "RNS 1.0.0". GitHub.
`:cite-note-2-4`!4.`! `F0af`_`[↑`#cite-ref-2-4-0]`_`f `*Cryptographic Primitives`*, Manual. `F0af`_`[`a8d24177d946de4f1f0a0fe1af9a1338:/page/blob.mu`g=reticulum|r=reticulum|ref=HEAD|path=docs/markdown/understanding.md|anchor=cryptographic-primitives] ↗`_`f

>>Reticulum concepts

`F0af`_`[Announce`:/page/wiki.mu`path=Announce]`_`f • `F0af`_`[Blackhole`:/page/wiki.mu`path=Blackhole]`_`f • `F0af`_`[Buffer`:/page/wiki.mu`path=Buffer]`_`f • `F0af`_`[Channel`:/page/wiki.mu`path=Channel]`_`f • `F0af`_`[Destination`:/page/wiki.mu`path=Destination]`_`f • `F0af`_`[Discovery`:/page/wiki.mu`path=Discovery]`_`f • `F0af`_`[Identity`:/page/wiki.mu`path=Identity]`_`f • `F0af`_`[Instance`:/page/wiki.mu`path=Instance]`_`f • `F0af`_`[Interface`:/page/wiki.mu`path=Interface]`_`f • `F0af`_`[Interface Access Code`:/page/wiki.mu`path=Interface_Access_Code]`_`f (IFAC) • `F0af`_`[Link`:/page/wiki.mu`path=Link]`_`f • `F0af`_`[Network identity`:/page/wiki.mu`path=Network_identity]`_`f • `F0af`_`[Node`:/page/wiki.mu`path=Node]`_`f • `F0af`_`[Packet`:/page/wiki.mu`path=Packet]`_`f • `F0af`_`[Path`:/page/wiki.mu`path=Path]`_`f • `F0af`_`[Propagation node`:/page/wiki.mu`path=Propagation_node]`_`f • `F0af`_`[Resource`:/page/wiki.mu`path=Resource]`_`f • `F0af`_`[Stamp`:/page/wiki.mu`path=Stamp]`_`f • `F0af`_`[Transport node`:/page/wiki.mu`path=Transport_node]`_`f